// 检查字符串是否为null或空
function chkObjNull(obj) {
    if (typeof (obj) == "undefined") {
        return true;
    } else if (typeof (obj) == "string") {
        if (null == obj || "" == obj) {
            return true;
        } else {
            return false;
        }
    } else {
        if (null == obj) {
            return true;
        } else {
            return false;
        }
    }
}

// 计算一个字符所应该拥有的像素值,,(basePixelSize:字体基础像素值,baseFontSize:字体放大倍数，baseStr:要计算的字符串)
function computeLenghtByStr(basePixelSize, baseFontSize, baseStr) {
    //汉字最小的一个值(一)
    const chineseMinValue = 19968;
    let chinesePixelValue = Math.ceil(basePixelSize * baseFontSize);
    let letterPixelValue = Math.ceil(chinesePixelValue / 2);
    let resultValue = 0;
    if(chkObjNull(baseStr)){
        baseStr = '';
    }
    baseStr.split('').forEach(v => {
        if (v.charCodeAt() >= chineseMinValue) {
            resultValue += chinesePixelValue;
        } else {
            resultValue += letterPixelValue;
        }
    });
    return resultValue;
}